import { TOKEN_KEY } from '@/enums/cacheEnum.js';
// 平台名称
export const platform = () => uni.getSystemInfoSync().platform
// 是否苹果
export const isIOS = () => platform() == "ios"
// 是否安卓
export const isAndroid = ()=> platform() == "android"

// 判断是否运行在app内嵌页面
export function isAppH5 (){
	if(isIOS()) {
		return window?.webkit?.messageHandlers
	}else {
		return window?.android
	}
}

// 获取原生app用户token
export async function getAppUserToken(){
	return new Promise(resolve=> {
		window.setToken =function setToken(t) {
			resolve(t)
			window.setToken = null
		}
		if(isAndroid()) {
			window.android.getToken()
		} else if(isIOS()) {
			window.webkit.messageHandlers.getToken.postMessage('')
		}
	})
}

// 获取初始化时原生传给h5的参数
export async function getH5InitOptions(){
	return new Promise(resolve=> {
		window.setH5InitOptions = function setH5InitOptions(opt) {
			resolve(opt)
		}
		if(isAndroid()) {
			window.android.getH5InitOptions()
		} else if(isIOS()) {
			window.webkit.messageHandlers.getH5InitOptions.postMessage('1')
		}
	})
}

// 手动关闭
export function closeH5(){
	if(isAndroid()) {
		window.android.closeH5()
	} else if(isIOS()) {
		window.webkit.messageHandlers.closeH5.postMessage('1')
	}
}

/**  支付
* 调用 @function window.android.payByPayId(params) 时
* params @param { 
*	payId: {string},
*	payStatus: ,
* 	payType: ,
* }
* 调用 @function window.android.pay(params) 时
* params @param { 
*	"busiName": data.busiName, // 业务名称
*	"busiType": "TRAVEL", // (COMMODITY:商品 TRAVEL：旅游)
*	"custNo": data.custNo, // 客户编号
*	"merchantId": data.merchantId, // 商户
*	"storeNo": data.storeNo, // 门店
*	"tradeType": data.tradeType, //交易类型
*	"tyMchId": data.storeNo, // 收款商户
*	"actAmt": actAmt, // 实付金额 以分为单位
*	"payAmt": payAmt , //应收金额 以分为单位
*	"title": info.goodsName, // 备注 扣款 描述
*	"tradeNo": info.orderCode, // 商户支付单号
*	"userId": info.createUser ,// 用户号(etc 账户id)
*	"payChn": "", // 支付渠道 WECHAT:微信;ALIPAY:支付宝;UNIPAY:银联
* }
* app端不论支付成功失败，支付后都需要调用 payCompleted通知h5
*/
export function runAppPay(type, params){
	return new Promise(resolve=> {
		window.payCompleted = function(res) {
			// 0 取消，1失败，2成功 
			resolve(res)
			window.payCompleted = null
		}
		let handle = type == 1 ? 'pay' : 'payByPayId'
		params = typeof params === 'string' ? params : JSON.stringify(params)
		console.log(params)
		if(isAndroid()) {
			window.android[handle](params)
		} else if(isIOS()) {
			window.webkit.messageHandlers[handle].postMessage(params)
		}
	})
	
}


// 拨打电话
export function callPhone(phone){
	if(isAndroid()) {
		window.android.callPhone(phone)
	} else if(isIOS()) {
		window.webkit.messageHandlers.callPhone.postMessage(phone)
	}
}

// 拨打电话
export function mapNavigation(lat,lng){
	const params = JSON.stringify({
		longitude:lng,
		latitude:lat
	})
	if(isAndroid()) {
		window.android.getLocationPoint(lat,lng)
	} else if(isIOS()) {
		window.webkit.messageHandlers.getLocationPoint.postMessage(params)
	}
}
// // 创建订单并支付
// export function runAppPay(params){
// 	return new Promise(resolve=> {
// 		window.payCompleted = function(res) {
// 			// 0 取消，1失败，2成功 
// 			resolve(res)
// 			window.payCompleted = null
// 		}
// 		params = JSON.stringify(params)
// 		if(isAndroid()) {
// 			window.android.pay(params)
// 		} else if(isIOS()) {
// 			window.webkit.messageHandlers.pay.postMessage(params)
// 		}
// 	})
	
// }



